package string;

public class StringDemo {
    public static void main(String[] args) {
        /*String s1 ="123abc";//一个地址，多处赋值
        String s2="123abc";
        String s3="123abc";

        System.out.println(s1==s2);//true
        System.out.println(s1==s3);//true
        System.out.println(s3==s2);//true

        s1=s1+"@";//创建新的字符串对象("123abc")
        //只有字面量对象才会存入常量池
        System.out.println(s1==s2);//false*/





        /*String s1="123abc";//字面量相加，编译器则会把相加后的结果存入常量池
        String s2="123"+"abc";
        System.out.println(s1==s2);//判断s1和s2的地址，true

        String s3 ="123";
        String s4=s3+"abc";//不是两个字面量相加，则会创建新的对象储存123abc
        System.out.println(s1==s4);//false*/





        String s=new String("123abc");
        String s1="hello";
        System.out.println(s1==s);//这里比较的是地址，无实际意义
        System.out.println(s.equals(s1));//equals()方法比较的是字符串内容是否相等
        //语法是打点调用equals(括号中的要比较的字符串对象)





    }
}
